# 1.列表list
# 1.1 创建列表
# 创建一个空列表
empty_list = []
print(empty_list)
print(type(empty_list))
# 创建一个包含多个元素的列表
fruits = ['apple', 'banana', 'cherry']
print(fruits)

# 1.2 访问列表中的元素
# 通过索引获得列表中的元素
first_fruit = fruits[0]  # 获取列表中第一个元素，索引为0
print(first_fruit)

last_fruit = fruits[-1]  # 获取列表中最后有个元素，索引为-1
print(last_fruit)

# 1.3 修改列表元素
# 修改列表元素
fruits[0] = "pear"
print(fruits)

# 1.4  添加列表中的元素
# 添加列表元素,append,添加元素到列表的末尾
fruits.append("orange")
print(fruits)
# 添加列表元素,insert,添加元素到指定范围
fruits.insert(0, "apple")
print(fruits)

# 1.5 删除列表中的元素
# 删除列表中的元素，使用del，删除指定位置的元素
del fruits[0]
print(fruits)
# 删除列表中的元素，使用remove，删除的元素必须在列表中存在（否则报错），如果存在多个，则删除第一个
fruits.remove("cherry")
print(fruits)
# 删除列表中的元素，使用pop，删除指定位置的元素，返回删除的元素
popped_fruit = fruits.pop()
print(popped_fruit)

# 1.7 列表中的其他方法
# 列表的遍历
for x in fruits:
    print(x)
# 使用for循环得到列表
list1 = [1, 2, 3, 4, 5]
new_list1 = []
for x in list1:
    if x % 2 == 0:
        new_list1.append(x * 2)
print(new_list1)
# 列表的推导式
# 列表的推导式的公式 new_list = [表达式 for i in 可迭代的对象 if 条件]
new_list = [x * 2 for x in list1 if x % 2 == 0]

# 输入一个日期，2025-10-16，计算这一天是这一年的第几天

# 2 字典dict
print("---------------------字典----------------------")
empty_dict = {}

person = {
    "name" : "Alice",
    "age" : 25,
    "city" : "New York",
}
person1 = {
    "Alice":{
        "country":"China",
    }
}
print(person)

# 2.2 获取字典中的值
# （1）通过键获取字典中的值（键值对）
name = person["name"]
print(name)
# （2）通过get获取值，如果键存在则返回值，如果不存在则返回默认值（默认值可以自己设置）
city = person.get("city")
print(city)
aaa = person.get("aaa","不存在")  # 设置默认值“不存在”
print(aaa)
# 2.3 添加键值对到字典，修改字典中的值
print("--------------------添加键值对到字典，修改字典中的值----------------------")
person["country"] = "中国"
print(person)
person["country"] = "美国"
print(person)
# 2.4 删除字典中的键值对
# （1）使用del删除键值对
del person["country"]
print(person)
# （2）使用pop删除键值对，返回value值
pop_city = person.pop("city")
print(pop_city)
print(person)
# （3）使用popitems删除键值对，删除的是最后一个键值对，并且返回值对
popitem_age = person.popitem()
print(popitem_age)
print(person)
# 2.7 字典的遍历
print("--------------------字典的遍历---------------------")
#1:遍历字典的key
print("-------------------遍历key----------------------")
for k in person.keys():
    print(k)
print("--------------------------遍历value------------------------")
for v in person.values():
    print(v)
print("-------------------谝历key-yalue----------------------")
for key,value in person.items():
    print(key, value)
# 集合的运算符
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
# 1.并集 |
print(set1 | set2)
# 2.交集 &
print(set1 & set2)
# 3.

# 4.
